{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import chipwhisperer as cw\n",
    "\n",
    "try:\n",
    "    if not scope.connectStatus:\n",
    "        scope.con()\n",
    "except NameError:\n",
    "    scope = cw.scope()\n",
    "\n",
    "try:\n",
    "    if SS_VER == \"SS_VER_2_1\":\n",
    "        target_type = cw.targets.SimpleSerial2\n",
    "    elif SS_VER == \"SS_VER_2_0\":\n",
    "        raise OSError(\"SS_VER_2_0 is deprecated. Use SS_VER_2_1\")\n",
    "    else:\n",
    "        target_type = cw.targets.SimpleSerial\n",
    "except:\n",
    "    SS_VER=\"SS_VER_1_1\"\n",
    "    target_type = cw.targets.SimpleSerial\n",
    "\n",
    "try:\n",
    "    target = cw.target(scope, target_type)\n",
    "except:\n",
    "    print(\"INFO: Caught exception on reconnecting to target - attempting to reconnect to scope first.\")\n",
    "    print(\"INFO: This is a work-around when USB has died without Python knowing. Ignore errors above this line.\")\n",
    "    scope = cw.scope()\n",
    "    target = cw.target(scope, target_type)\n",
    "\n",
    "\n",
    "print(\"INFO: Found ChipWhisperer😍\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "print (\"***********************************************\")\n",
    "print (\"1. Ensure J3 on UFO Board routines CLKFB to HS1/IN\")\n",
    "\n",
    "scope.gain.gain = 40\n",
    "scope.gain.mode = \"high\"\n",
    "scope.adc.samples = 400\n",
    "scope.adc.offset = 0\n",
    "scope.adc.basic_mode = \"rising_edge\"\n",
    "scope.clock.clkgen_src = \"extclk\"\n",
    "scope.clock.clkgen_mul = 8\n",
    "scope.clock.clkgen_div = 2\n",
    "scope.clock.adc_src = \"clkgen_x1\"\n",
    "scope.trigger.triggers = \"tio4\"\n",
    "scope.io.tio1 = \"serial_rx\"\n",
    "scope.io.tio2 = \"serial_tx\"\n",
    "scope.io.hs2 = None\n",
    "\n",
    "ext_freq = scope.clock.freq_ctr\n",
    "print(\"Input frequency of %d Hz\" % ext_freq)\n",
    "\n",
    "if ext_freq > 11850000 and ext_freq < 12150000:\n",
    "    print(\"CLK frequency in expected range.\")\n",
    "else:\n",
    "    print(\"WARNING: CLK frequency outside of expected range.\")"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
